<?php

/**
 * 静态延迟绑定
 */

// https://www.cnblogs.com/xiaowie/p/12291619.html

class Human
{
    public static $name = 'Human';

    public static function showName()
    {
        // 静态绑定
        echo self::$name . '-';
        // 静态延迟绑定
        echo static::$name;
    }
}

// 1.静态延迟绑定：使用static关键字代替self进行类成员访问

Human::showName(); // 输出 Human-Human, 此时没有子类

// 2.静态延迟绑定一定是通过继承后的子类来进行访问才有效果
class Man extends Human
{
    // 重写父类静态属性
    public static $name = 'man';

}

// 子类访问
Man::showName(); // 输出 Human-Man